package com.xinsoft.entity.dto;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.xinsoft.constant.Const;
import com.xinsoft.entity.vo.ErpOutSourcingVO;
import com.xinsoft.utils.RedisUtil;
import lombok.Data;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.math.BigDecimal;

/**
 * @author: π
 * 委外合同*/
@Data
public class KisOutSourcingHeadVO {

    // 单据明细
    private String  FInterId;     //主键
    private String  FBillerID;       //制单人:"
    private String  FBillNo;       //编  号:"
    private String  FCheckerID;       //审核人:"
    private String  FCheckDate;       //审核日期:"
    private String  FSupplyID;       //供应商内码:"
    private String  FDepartment;     //        部门内码
    private String  FEmployee;      //        业务员内码
    private String  FStatus;       //审核标志
    private String  FAuxQty;       //生产数量:"
    private String  FWorkShop;       //生产车间:"
    private String  FClosed;       //




//    {
//        内码 \"FInterID\": \"219642\",
//        制单人内码 \"FBillerID\": \"16432\",
//        编号 \"FBillNo\": \"CHW20230224001\",
//        审核人内码 \"FCheckerID\": \"16432\",
//        审核日期 \"FCheckDate\": \"2023/2/24 15:46:32\",
//
//
//        作废标志 \"FCancellation\": \"0\",
//        事务类型 \"FClassTypeID\": \"1007105\",
//        关闭标志 \"FClosed\": \"0\",
//        关闭人内码 \"FCloserID\": \"0\",
//        币别内码 \"FCurrencyID\": \"1\",
//        日期 \"FDate\": \"2023/2/24 0:00:00\",
//        汇率 \"FExchangeRate\": \"1\",
//        委外类型 \"FInvStyle\": \"14190\",
//        主管内码 \"FMangerID\": \"0\",
//        时间戳 \"FModifyTime\": \"System.Byte[]\",
//        打印次数 \"FPrintCount\": \"2\",
//        结算日期 \"FSettleDate\": \"2023/2/24 0:00:00\",
//        结算方式 \"FSettleStyle\": \"0\",
//        摘要 \"FSummary\": \"\",
//    }                        "FWorkShop":"14635"

//    {
//      \"BillHead\": {
//        \"FInterID\": \"15000\",
//        \"FSupplyID\": \"9597\",
//        \"FDate\": \"8/26/2023 12:00:00 AM\",
//        \"FBillNo\": \"WPO2023082688\",
//        \"FInvStyle\": \"14190\",
//        \"FSettleStyle\": \"2\",
//        \"FCurrencyID\": \"1\",
//        \"FDepartment\": \"4072\",
//        \"FSettleDate\": \"8/26/2023 12:00:00 AM\",
//        \"FExchangeRate\": \"1\",
//        \"FEmployee\": \"8505\",
//        \"FMangerID\": \"4002\",
//        \"FSummary\": \"\",
//        \"FCheckerID\": \"16413\",
//        \"FCheckDate\": \"9/6/2023 4:28:52 PM\",
//        \"FBillerID\": \"16404\",
//        \"FCancellation\": \"0\",
//        \"FClosed\": \"0\",
//        \"FStatus\": \"1\",
//        \"FTranStatus\": \"0\",
//        \"FModifyTime\": \"System.Byte[]\",
//        \"FClassTypeID\": \"1007105\",
//        \"FRelateBrID\": \"0\",
//        \"FBrID\": \"0\",
//        \"FPOOrdBillNo\": \"\",
//        \"FOrderRefuse\": \"0\",
//        \"FPrintCount\": \"0\",
//        \"FCloserID\": \"0\",
//        \"FHaveAccessory\": \"\"
//    },


    private RedisUtil redisUtil = SpringUtil.getBean(RedisUtil.class);

    public ErpOutSourcingVO voToPo(KisOutSourcingHeadVO item) {
        if (item == null) {
            return null;
        }
        ErpOutSourcingVO scmOutSourcingVO = new ErpOutSourcingVO();
        scmOutSourcingVO.setId(ObjectUtil.isEmpty(item.getFInterId()) ? null : new Integer(item.getFInterId()));
        scmOutSourcingVO.setCode(item.getFBillNo());
        scmOutSourcingVO.setCreateId(ObjectUtil.isEmpty(item.getFBillerID()) ? null : new Integer(item.getFBillerID()));
        scmOutSourcingVO.setAuditorId(ObjectUtil.isEmpty(item.getFCheckerID()) ? null : new Integer(item.getFBillerID()));
        scmOutSourcingVO.setPlanCount(ObjectUtil.isEmpty(item.getFAuxQty()) ? null : new BigDecimal(item.getFAuxQty()));
        scmOutSourcingVO.setCheckDate((ObjectUtil.isEmpty(item.getFCheckDate()) ? null : DateUtil.formatDate(DateUtil.parse(item.getFCheckDate(),redisUtil.get(Const.TIME_FORMAT).toString()))));
        scmOutSourcingVO.setSupplyID(ObjectUtil.isEmpty(item.getFSupplyID()) ? null : new Integer(item.getFSupplyID()));
        scmOutSourcingVO.setClosed(item.getFClosed());
        return scmOutSourcingVO;//
    }


}
